Package-level declarations
Types
NonEmptyList is a data type used in Λrrow to model ordered lists that guarantee to have at least one value.
Functions
Combines two structures by taking the union of their shapes and using Ior to hold the elements.
Combines two structures by taking the union of their shapes and combining the elements with the given function.
Combines two maps using combine to combine values for the same key.
Combine two Either values. If both are Right then combine both B values using combineRight or if both are Left then combine both A values using combineLeft, otherwise it returns the this or fallbacks to other in case this is Left.
Returns the first element as Some(element), or None if the iterable is empty.
Returns the first element as Some(element) matching the given predicate, or None if element was not found.
Map, or transform, the right value B of this Either into a new Either with a right value of type C. Returns a new Either with either the original left value of type A or the newly transformed right value of type C.
Transform every Map.Entry of the original Map using f, only keeping the Map.Entry of the transformed map that match the input Map.Entry.
Binds the given function across Ior.Right.
Flatten an Iterable of Either. Alias for mapOrAccumulate over an Iterable of computed Either. Either returns a List containing all Either.Right values, or a NonEmptyList of all Either.Left values.
Flatten an Iterable of Either. Alias for mapOrAccumulate over an Iterable of computed Either. Either returns a List containing all Either.Right values, or a NonEmptyList of all EitherNel values.
Flatten an Iterable of Either. Alias for mapOrAccumulate over an Iterable of computed Either. Either returns a List containing all Either.Right values, or Either.Left values accumulated using combine.
Flatten an Iterable of Either. Alias for mapOrAccumulate over an Iterable of computed Either. Either returns a List containing all Either.Right values, or EitherNel values accumulated using combine.
Returns the option's value if the option is nonempty, otherwise return the result of evaluating default.
Logical conditional. The equivalent of Prolog's soft-cut. If its first argument succeeds at all, then the results will be fed into the success branch. Otherwise, the failure branch is taken.
Returns the last element as Some(element), or None if the iterable is empty.
Returns the last element as Some(element) matching the given predicate, or None if no such element was found.
Returns a List> containing the zipped values of the two lists with null for padding on the left.
Returns a Sequence> containing the zipped values of the two sequences with null for padding on the left.
Returns a List containing the result of applying some transformation (A?, B) -> C on a zip, excluding all cases where the right value is null.
Returns a Sequence containing the result of applying some transformation (A?, B) -> C on a zip, excluding all cases where the right value is null.
Returns Either a List containing the results of applying the given transform function to each element in the original collection, or accumulate all the logical errors into a NonEmptyList that were raised while applying the transform function.
Memoizes the given pure function so that invocations with the same arguments will only execute the function once.
Extractor of non-fatal Throwable. Will not match fatal errors like VirtualMachineError (for example, OutOfMemoryError and StackOverflowError, subclasses of VirtualMachineError), ThreadDeath, LinkageError, InterruptedException. This will also not match CancellationException since that's a fatal exception in Kotlin for cancellation purposes.
Returns the Throwable if NonFatal and throws it otherwise.
Returns a List> containing the zipped values of the two lists with null for padding.
Align two structures as in zip, but filling in blanks with null.
Returns a Sequence> containing the zipped values of the two sequences with null for padding.
Returns a List containing the result of applying some transformation (A?, B?) -> C on a zip.
Returns a Sequence containing the result of applying some transformation (A?, B?) -> C on a zip.
Returns a List> containing the zipped values of the two lists with null for padding on the right.
Returns a Sequence> containing the zipped values of the two sequences with null for padding on the right.
Returns a List containing the result of applying some transformation (A, B?) -> C on a zip, excluding all cases where the left value is null.
Returns a Sequence containing the result of applying some transformation (A, B?) -> C on a zip, excluding all cases where the left value is null.
Separate the inner Validated values into the Validated.Invalid and Validated.Valid.
Returns single element as Some(element), or None if the iterable is empty or has more than one element.
Returns the single element as Some(element) matching the given predicate, or None if element was not found or more than one element was found.
Splits a union into its component parts.
splits an union into its component parts.
after applying the given function, splits the resulting union shaped structure into its components parts
unzips the structure holding the resulting elements in an Pair
Unzips the structure holding the resulting elements in an Pair
after applying the given function unzip the resulting structure into its elements.
After applying the given function unzip the resulting structure into its elements.
Given A is a sub type of B, re-type this value from Iterable to Iterable
Given A is a sub type of B, re-type this value from Sequence to Sequence
Combines to structures by taking the intersection of their shapes and using Pair to hold the elements.
Combines to structures by taking the intersection of their shapes and combining the elements with the given function.